package com.wenhui.schoolyardinfo.square.adapter;

import android.content.Context;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.method.LinkMovementMethod;
import android.text.style.ForegroundColorSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.wenhui.schoolyardinfo.R;
import com.wenhui.schoolyardinfo.callback.RcvOnFirstSecondThirdViewClickListener;
import com.wenhui.schoolyardinfo.callback.RcvOnFirstSecondViewClickListener;
import com.wenhui.schoolyardinfo.callback.RcvOnItemItemViewClickListener;
import com.wenhui.schoolyardinfo.callback.RcvOnItemViewClickListener;
import com.wenhui.schoolyardinfo.callback.RcvOnSecondThirdViewClickListener;
import com.wenhui.schoolyardinfo.customview.CircleImageView;
import com.wenhui.schoolyardinfo.firstpage.adapter.CommentsAdapter;
import com.wenhui.schoolyardinfo.firstpage.adapter.TextClick;
import com.wenhui.schoolyardinfo.firstpage.bean.BlogBean;
import com.wenhui.schoolyardinfo.manager.DateManager;
import com.wenhui.schoolyardinfo.square.bean.SquareRecommendBean;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;

/**
 * author    : Urasaki
 * e-mail    : 1164688204@qq.com
 * date      : 2019/6/21 16:49
 * introduce : 广场adapter
 */

public class SquareAdapter extends RecyclerView.Adapter {

    private Context context;
    private List<SquareRecommendBean> squareRecommendBeanList = new ArrayList<>();
    private List<BlogBean> blogBeanList = new ArrayList<>();
    private SquareRecommendAdapter squareRecommendAdapter;
    private CommentsAdapter commentsAdapter;
    private LinearLayoutManager layoutManager;
    private boolean isShowOnlySquare = false;
    private static final int HEADER_FIRST_VIEW_TYPE = 1;
    private static final int HEADER_SECOND_VIEW_TYPE = 2;
    private static final int CONTENT_VIEW_TYPE = 3;

    public SquareAdapter(Context context) {
        this.context = context;
    }

    public SquareAdapter(Context context, List<SquareRecommendBean> squareRecommendBeanList, List<BlogBean> blogBeanList) {
        this.context = context;
        this.squareRecommendBeanList = squareRecommendBeanList;
        this.blogBeanList = blogBeanList;
    }

    public void clearData() {
        if (squareRecommendBeanList != null && squareRecommendBeanList.size() > 0) {
            squareRecommendBeanList.clear();
        }

        if (blogBeanList != null && blogBeanList.size() > 0) {
            blogBeanList.clear();
        }
        notifyDataSetChanged();
    }

    public void addAllData(List<SquareRecommendBean> squareRecommendBeanList, List<BlogBean> blogBeanList) {
        this.squareRecommendBeanList.addAll(squareRecommendBeanList);
        this.blogBeanList.addAll(blogBeanList);
        notifyDataSetChanged();
    }

    public void addAllData(boolean isShowOnlySquare, List<BlogBean> blogBeanList) {
        this.isShowOnlySquare = isShowOnlySquare;
        this.blogBeanList.addAll(blogBeanList);
        notifyDataSetChanged();
    }

    public boolean isShowOnlySquare() {
        return isShowOnlySquare;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view;
        switch (viewType) {
            case HEADER_FIRST_VIEW_TYPE:
                view = LayoutInflater.from(context).inflate(R.layout.item_square_header_first, parent, false);
                return new HeaderFirstHolder(view);
            case HEADER_SECOND_VIEW_TYPE:
                view = LayoutInflater.from(context).inflate(R.layout.item_square_header_second, parent, false);
                return new HeaderSecondHolder(view);
            default:
                view = LayoutInflater.from(context).inflate(R.layout.item_blog, parent, false);
                return new ContentHolder(view);
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        if (holder instanceof HeaderFirstHolder) {
            HeaderFirstHolder headerFirstHolder = (HeaderFirstHolder) holder;
            layoutManager = new LinearLayoutManager(context);
            layoutManager.setOrientation(OrientationHelper.HORIZONTAL);
            headerFirstHolder.recommendRecyclerView.setLayoutManager(layoutManager);
            headerFirstHolder.recommendRecyclerView.setItemAnimator(new DefaultItemAnimator());

            squareRecommendAdapter = new SquareRecommendAdapter(context, squareRecommendBeanList);
            headerFirstHolder.recommendRecyclerView.setAdapter(squareRecommendAdapter);
            squareRecommendAdapter.setRcvOnItemItemViewClickListener(new RcvOnItemItemViewClickListener() {
                @Override
                public void onItemItemClickListener(int position2, View view) {
                    rcvOnFirstSecondViewClickListener.onItemItemClickListener(position, position2, view);
                }
            });
        } else if (holder instanceof HeaderSecondHolder) {
            HeaderSecondHolder headerSecondHolder = (HeaderSecondHolder) holder;
        } else {
            ContentHolder contentHolder = (ContentHolder) holder;
            if (isShowOnlySquare) {
                //加载头像
                Glide.with(context).load(blogBeanList.get(position).getHeadPortraitUrl()).into(contentHolder.imvHeadPortrait);
                contentHolder.tevName.setText(blogBeanList.get(position).getName());
                contentHolder.tevTime.setText(DateManager.millisecondConvertedToDate(blogBeanList.get(position).getTime()));
                SpannableStringBuilder spannable = new SpannableStringBuilder(blogBeanList.get(position).getComeFrom());
                int length = blogBeanList.get(position).getComeFrom().length();
                //设置文字的前景色，2、4分别表示可以点击文字的起始和结束位置。
                spannable.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.colorBlueA)), 2, length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                //这个一定要记得设置，不然点击不生效
                contentHolder.tevComeFrom.setMovementMethod(LinkMovementMethod.getInstance());
                spannable.setSpan(new TextClick(), 2, length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                contentHolder.tevComeFrom.setText(spannable);

                contentHolder.tevPublishText.setText(blogBeanList.get(position).getPublishMessage());
                //加载风景
                if (blogBeanList.get(position).getSceneryUrlList() != null && blogBeanList.get(position).getSceneryUrlList().size() > 0) {
                    contentHolder.layoutScenery.setVisibility(View.VISIBLE);
                    switch (blogBeanList.get(position).getSceneryUrlList().size()) {
                        case 1:
                            contentHolder.layoutSceneryI.setVisibility(View.VISIBLE);
                            contentHolder.layoutSceneryIi.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIii.setVisibility(View.GONE);
                            Glide.with(context).load(blogBeanList.get(position).getSceneryUrlList().get(0)).into(contentHolder.imvSceneryIA);
                            break;
                        case 2:
                            contentHolder.layoutSceneryI.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIi.setVisibility(View.VISIBLE);
                            contentHolder.layoutSceneryIii.setVisibility(View.GONE);
                            Glide.with(context).load(blogBeanList.get(position).getSceneryUrlList().get(0)).into(contentHolder.imvSceneryIiA);
                            Glide.with(context).load(blogBeanList.get(position).getSceneryUrlList().get(1)).into(contentHolder.imvSceneryIiB);
                            break;
                        case 3:
                            contentHolder.layoutSceneryI.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIi.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIii.setVisibility(View.VISIBLE);
                            Glide.with(context).load(blogBeanList.get(position).getSceneryUrlList().get(0)).into(contentHolder.imvSceneryIiiA);
                            Glide.with(context).load(blogBeanList.get(position).getSceneryUrlList().get(1)).into(contentHolder.imvSceneryIiiB);
                            Glide.with(context).load(blogBeanList.get(position).getSceneryUrlList().get(2)).into(contentHolder.imvSceneryIiiC);
                            break;
                        default:
                            break;
                    }
                } else {
                    contentHolder.layoutScenery.setVisibility(View.GONE);
                }

                contentHolder.tevLabel.setText(blogBeanList.get(position).getLabel());
                contentHolder.tevFireNum.setText(blogBeanList.get(position).getFireNum() + "");
                contentHolder.tevFeelingNum.setText(blogBeanList.get(position).getFeelingNum() + "");
                contentHolder.tevCommentNum.setText(blogBeanList.get(position).getCommentNum() + "");
                contentHolder.tevSharedNum.setText(blogBeanList.get(position).getSharedNum() + "");

                layoutManager = new LinearLayoutManager(context);
                layoutManager.setOrientation(OrientationHelper.VERTICAL);
                contentHolder.commentRecyclerView.setLayoutManager(layoutManager);
                contentHolder.commentRecyclerView.setItemAnimator(new DefaultItemAnimator());
                commentsAdapter = new CommentsAdapter(context, blogBeanList.get(position).getCommentBeanList());
                contentHolder.commentRecyclerView.setAdapter(commentsAdapter);
                commentsAdapter.setRcvOnItemItemViewClickListener(new RcvOnItemItemViewClickListener() {
                    @Override
                    public void onItemItemClickListener(int position2, View view) {
                        rcvOnFirstSecondViewClickListener.onItemItemClickListener(position, position2, view);
                    }
                });
                commentsAdapter.setRcvOnSecondThirdViewClickListener(new RcvOnSecondThirdViewClickListener() {
                    @Override
                    public void onItemItemItemClickListener(int position2, int position3, View view) {
                        rcvOnFirstSecondThirdViewClickListener.onItemItemItemClickListener(position, position2, position3, view);
                    }
                });
            } else {
                //加载头像
                Glide.with(context).load(blogBeanList.get(position - 2).getHeadPortraitUrl()).into(contentHolder.imvHeadPortrait);
                contentHolder.tevName.setText(blogBeanList.get(position - 2).getName());
                contentHolder.tevTime.setText(DateManager.millisecondConvertedToDate(blogBeanList.get(position - 2).getTime()));
                SpannableStringBuilder spannable = new SpannableStringBuilder(blogBeanList.get(position - 2).getComeFrom());
                int length = blogBeanList.get(position - 2).getComeFrom().length();
                //设置文字的前景色，2、4分别表示可以点击文字的起始和结束位置。
                spannable.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.colorBlueA)), 2, length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                //这个一定要记得设置，不然点击不生效
                contentHolder.tevComeFrom.setMovementMethod(LinkMovementMethod.getInstance());
                spannable.setSpan(new TextClick(), 2, length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                contentHolder.tevComeFrom.setText(spannable);

                contentHolder.tevPublishText.setText(blogBeanList.get(position - 2).getPublishMessage());
                //加载风景
                if (blogBeanList.get(position - 2).getSceneryUrlList() != null && blogBeanList.get(position - 2).getSceneryUrlList().size() > 0) {
                    contentHolder.layoutScenery.setVisibility(View.VISIBLE);
                    switch (blogBeanList.get(position - 2).getSceneryUrlList().size()) {
                        case 1:
                            contentHolder.layoutSceneryI.setVisibility(View.VISIBLE);
                            contentHolder.layoutSceneryIi.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIii.setVisibility(View.GONE);
                            Glide.with(context).load(blogBeanList.get(position - 2).getSceneryUrlList().get(0)).into(contentHolder.imvSceneryIA);
                            break;
                        case 2:
                            contentHolder.layoutSceneryI.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIi.setVisibility(View.VISIBLE);
                            contentHolder.layoutSceneryIii.setVisibility(View.GONE);
                            Glide.with(context).load(blogBeanList.get(position - 2).getSceneryUrlList().get(0)).into(contentHolder.imvSceneryIiA);
                            Glide.with(context).load(blogBeanList.get(position - 2).getSceneryUrlList().get(1)).into(contentHolder.imvSceneryIiB);
                            break;
                        case 3:
                            contentHolder.layoutSceneryI.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIi.setVisibility(View.GONE);
                            contentHolder.layoutSceneryIii.setVisibility(View.VISIBLE);
                            Glide.with(context).load(blogBeanList.get(position - 2).getSceneryUrlList().get(0)).into(contentHolder.imvSceneryIiiA);
                            Glide.with(context).load(blogBeanList.get(position - 2).getSceneryUrlList().get(1)).into(contentHolder.imvSceneryIiiB);
                            Glide.with(context).load(blogBeanList.get(position - 2).getSceneryUrlList().get(2)).into(contentHolder.imvSceneryIiiC);
                            break;
                        default:
                            break;
                    }
                } else {
                    contentHolder.layoutScenery.setVisibility(View.GONE);
                }

                contentHolder.tevLabel.setText(blogBeanList.get(position - 2).getLabel());
                contentHolder.tevFireNum.setText(blogBeanList.get(position - 2).getFireNum() + "");
                contentHolder.tevFeelingNum.setText(blogBeanList.get(position - 2).getFeelingNum() + "");
                contentHolder.tevCommentNum.setText(blogBeanList.get(position - 2).getCommentNum() + "");
                contentHolder.tevSharedNum.setText(blogBeanList.get(position - 2).getSharedNum() + "");

                layoutManager = new LinearLayoutManager(context);
                layoutManager.setOrientation(OrientationHelper.VERTICAL);
                contentHolder.commentRecyclerView.setLayoutManager(layoutManager);
                contentHolder.commentRecyclerView.setItemAnimator(new DefaultItemAnimator());
                commentsAdapter = new CommentsAdapter(context, blogBeanList.get(position - 2).getCommentBeanList());
                contentHolder.commentRecyclerView.setAdapter(commentsAdapter);
                commentsAdapter.setRcvOnItemItemViewClickListener(new RcvOnItemItemViewClickListener() {
                    @Override
                    public void onItemItemClickListener(int position2, View view) {
                        rcvOnFirstSecondViewClickListener.onItemItemClickListener(position - 2, position2, view);
                    }
                });
                commentsAdapter.setRcvOnSecondThirdViewClickListener(new RcvOnSecondThirdViewClickListener() {
                    @Override
                    public void onItemItemItemClickListener(int position2, int position3, View view) {
                        rcvOnFirstSecondThirdViewClickListener.onItemItemItemClickListener(position - 2, position2, position3, view);
                    }
                });
            }
        }
    }

    @Override
    public int getItemViewType(int position) {
        if (isShowOnlySquare) {
            return CONTENT_VIEW_TYPE;
        } else {
            if (position == 0) {
                return HEADER_FIRST_VIEW_TYPE;
            } else if (position == 1) {
                return HEADER_SECOND_VIEW_TYPE;
            } else {
                return CONTENT_VIEW_TYPE;
            }
        }
    }

    @Override
    public int getItemCount() {
        if (isShowOnlySquare) {
            return blogBeanList.size();
        } else {
            return blogBeanList.size() + 2;
        }
    }

    protected class HeaderFirstHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        @BindView(R.id.tev_recommend)
        TextView tevRecommend;
        @BindView(R.id.imv_back_right)
        ImageView imvBackRight;
        @BindView(R.id.layout_back_right)
        RelativeLayout layoutBackRight;
        @BindView(R.id.layout_recommend)
        RelativeLayout layoutRecommend;
        @BindView(R.id.recommend_recycler_view)
        RecyclerView recommendRecyclerView;

        private HeaderFirstHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);

            layoutRecommend.setOnClickListener(this);
        }

        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.layout_recommend:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                default:
                    break;
            }
        }
    }

    protected class HeaderSecondHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        @BindView(R.id.imv_micro_public_good)
        CircleImageView imvMicroPublicGood;
        @BindView(R.id.layout_micro_public_good)
        RelativeLayout layoutMicroPublicGood;
        @BindView(R.id.imv_f_m)
        CircleImageView imvFM;
        @BindView(R.id.layout_f_m)
        RelativeLayout layoutFM;
        @BindView(R.id.imv_activity)
        CircleImageView imvActivity;
        @BindView(R.id.layout_activity)
        RelativeLayout layoutActivity;
        @BindView(R.id.imv_concern)
        CircleImageView imvConcern;
        @BindView(R.id.layout_concern)
        RelativeLayout layoutConcern;
        @BindView(R.id.imv_notes)
        CircleImageView imvNotes;
        @BindView(R.id.layout_notes)
        RelativeLayout layoutNotes;

        private HeaderSecondHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);

            layoutMicroPublicGood.setOnClickListener(this);
            layoutFM.setOnClickListener(this);
            layoutActivity.setOnClickListener(this);
            layoutConcern.setOnClickListener(this);
            layoutNotes.setOnClickListener(this);
        }

        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.layout_micro_public_good:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_f_m:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_activity:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_concern:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_notes:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                default:
                    break;
            }
        }
    }

    protected class ContentHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        @BindView(R.id.imv_head_portrait)
        CircleImageView imvHeadPortrait;
        @BindView(R.id.tev_name)
        TextView tevName;
        @BindView(R.id.tev_time)
        TextView tevTime;
        @BindView(R.id.tev_come_from)
        TextView tevComeFrom;
        @BindView(R.id.imv_more)
        ImageView imvMore;
        @BindView(R.id.layout_more)
        RelativeLayout layoutMore;
        @BindView(R.id.tev_publish_text)
        TextView tevPublishText;
        @BindView(R.id.imv_scenery_i_a)
        ImageView imvSceneryIA;
        @BindView(R.id.layout_scenery_i)
        RelativeLayout layoutSceneryI;
        @BindView(R.id.imv_scenery_ii_a)
        ImageView imvSceneryIiA;
        @BindView(R.id.imv_scenery_ii_b)
        ImageView imvSceneryIiB;
        @BindView(R.id.layout_scenery_ii)
        LinearLayout layoutSceneryIi;
        @BindView(R.id.imv_scenery_iii_a)
        ImageView imvSceneryIiiA;
        @BindView(R.id.imv_scenery_iii_b)
        ImageView imvSceneryIiiB;
        @BindView(R.id.imv_scenery_iii_c)
        ImageView imvSceneryIiiC;
        @BindView(R.id.layout_scenery_iii)
        LinearLayout layoutSceneryIii;
        @BindView(R.id.layout_scenery)
        FrameLayout layoutScenery;
        @BindView(R.id.tev_label)
        TextView tevLabel;
        @BindView(R.id.layout_label)
        RelativeLayout layoutLabel;
        @BindView(R.id.imv_fire)
        ImageView imvFire;
        @BindView(R.id.tev_fire_num)
        TextView tevFireNum;
        @BindView(R.id.layout_fire)
        LinearLayout layoutFire;
        @BindView(R.id.imv_feeling)
        ImageView imvFeeling;
        @BindView(R.id.tev_feeling_num)
        TextView tevFeelingNum;
        @BindView(R.id.layout_feeling)
        LinearLayout layoutFeeling;
        @BindView(R.id.imv_comment)
        ImageView imvComment;
        @BindView(R.id.tev_comment_num)
        TextView tevCommentNum;
        @BindView(R.id.layout_comment)
        LinearLayout layoutComment;
        @BindView(R.id.imv_share)
        ImageView imvShare;
        @BindView(R.id.tev_shared_num)
        TextView tevSharedNum;
        @BindView(R.id.layout_shared)
        LinearLayout layoutShared;
        @BindView(R.id.comment_recycler_view)
        RecyclerView commentRecyclerView;
        @BindView(R.id.imv_spread)
        ImageView imvSpread;
        @BindView(R.id.layout_spread)
        RelativeLayout layoutSpread;

        private ContentHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);

            imvHeadPortrait.setOnClickListener(this);
            layoutMore.setOnClickListener(this);
            layoutFire.setOnClickListener(this);
            layoutFeeling.setOnClickListener(this);
            layoutComment.setOnClickListener(this);
            layoutShared.setOnClickListener(this);
            layoutSpread.setOnClickListener(this);
            imvSceneryIA.setOnClickListener(this);
            imvSceneryIiA.setOnClickListener(this);
            imvSceneryIiB.setOnClickListener(this);
            imvSceneryIiiA.setOnClickListener(this);
            imvSceneryIiiB.setOnClickListener(this);
            imvSceneryIiiC.setOnClickListener(this);
        }

        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.imv_head_portrait:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_more:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_fire:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_feeling:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_comment:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_shared:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.layout_spread:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.imv_scenery_i_a:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.imv_scenery_ii_a:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.imv_scenery_ii_b:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.imv_scenery_iii_a:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.imv_scenery_iii_b:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                case R.id.imv_scenery_iii_c:
                    rcvOnItemViewClickListener.onItemClickListener(getAdapterPosition(), view);
                    break;
                default:
                    break;
            }
        }
    }

    private RcvOnItemViewClickListener rcvOnItemViewClickListener;

    public void setRcvOnItemViewClickListener(RcvOnItemViewClickListener rcvOnItemViewClickListener) {
        this.rcvOnItemViewClickListener = rcvOnItemViewClickListener;
    }

    private RcvOnFirstSecondViewClickListener rcvOnFirstSecondViewClickListener;

    public void setRcvOnFirstSecondViewClickListener(RcvOnFirstSecondViewClickListener rcvOnFirstSecondViewClickListener) {
        this.rcvOnFirstSecondViewClickListener = rcvOnFirstSecondViewClickListener;
    }

    private RcvOnFirstSecondThirdViewClickListener rcvOnFirstSecondThirdViewClickListener;

    public void setRcvOnFirstSecondThirdViewClickListener(RcvOnFirstSecondThirdViewClickListener rcvOnFirstSecondThirdViewClickListener) {
        this.rcvOnFirstSecondThirdViewClickListener = rcvOnFirstSecondThirdViewClickListener;
    }
}
